|
This page last changed on Apr 17, 2012 by brian.
Overview
In order to automate the image processing, we need to know the layout of the spots as they were defined in the original GAL file. The instructions below illustrate the steps needed to extract this information.
Processing the GAL File
Reading the Gene Array Layout (GAL) File
In order to automate the image analysis, the location of each treatment spot on a filter needs to be known. At MBARI, we use a custom text format to describe the application of spots by the piezzo electric printer. Each printer run prints a number of ESP filters on a single filter sheet. Each individual filter is subsequently cut from the filter sheet. A complete GAL file can be read using:
import java.io.File
import java.net.URL
import org.mbari.esp.ia.services.GeneArrayAnalysisService
import org.mbari.esp.ia.services.ToolBox
val geneArrayIOService = ToolBox.geneArrayIOService
val allGalPoints = geneArrayIOService.read(new URL("file:/test07/110220hab5wcomp_2011-03-07_150545_Run.txt"))
val bufferedImage1 = GeneArrayAnalysisService.toBufferedImage(allGalPoints, true, 100, 2)
val imageIOService = ToolBox.imageIOService
imageIOService.write(bufferedImage1, new File("110220hab5wcomp_2011-03-07_150545_Run.png"))
This produces the following image:

Subsetting the GAL Points
For our analysis, we only want the points that represent a single filter. In order to exclude the others we just subset the GAL points using:
val galPoints = GeneArrayAnalysisService.filterSingleSpot(allGalPoints, 12500)
val bufferedImage2 = GeneArrayAnalysisService.toBufferedImage(galPoints, true, 20, 10)
imageIOService.write(bufferedImage2, new File("110220hab5wcomp_2011-03-07_150545_Run-single.png"))

|